package com.starpl.mobile.android.monthunsae.november.activity;

import java.util.Stack;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Vibrator;

import com.starpl.mobile.android.platform.c2dm.PushMessageActivity;
import com.starpl.mobile.android.platform.common.base.BaseApplication;

/**
 * 푸시 도착시에 띄울 엑티비티 클래스입니다.
 * 
 * @author 박우람
 * @since 2011.03.16
 */
public class PushAlertDialogActivity extends PushMessageActivity
{
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		Vibrator viberator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
		viberator.vibrate(500);
		
		AlertDialog.Builder pushAlert = new AlertDialog.Builder(this);
		pushAlert.setTitle(getPushTitle());
		pushAlert.setMessage(getPushMessage());
		pushAlert.setCancelable(false);
		
		pushAlert.setPositiveButton("홈이동", new DialogInterface.OnClickListener()
		{
			@Override
			public void onClick(DialogInterface dialog, int which)
			{
				Stack<Activity> activityStack = BaseApplication.getActivityStack();
				// 엑티비티가 1개 이하일때는 어플이 실행중이 아니다. 1개인 이유는 지금 현재 엑티비티가 포함되었기 때문이다.
				if(activityStack.size() <= 1)
				{
					// 새로 시작
					getNewActivity()
					.setRemoveTask()
					.setTargetActivity(SplashScreenActivity.class)
					.show();
				}
				else
				{
					// 어플이 실행중일 경우 홈으로 이동
					getNewActivity()
					.setRemoveToActivity(HomeActivity.class)
					.setTargetActivity(HomeActivity.class)
					.show();
				}

				dialog.dismiss();
				finish();
			}
		});
		pushAlert.setNegativeButton("닫기", new DialogInterface.OnClickListener()
		{
			@Override
			public void onClick(DialogInterface dialog, int which)
			{
				dialog.dismiss();
				finish();
			}
		});
		pushAlert.show();
	}
}
